/*!
\copyright  Copyright (c) 2023 Qualcomm Technologies International, Ltd.\n
            All Rights Reserved.\n
            Qualcomm Technologies International, Ltd. Confidential and Proprietary.
\file
\defgroup   le_unicast_manager
\ingroup    domain
\brief      The sending of events from the le_unicast_manager using the Event Bus
*/

#ifndef LEA_UNICAST_EVENT_SEND_H_
#define LEA_UNICAST_EVENT_SEND_H_

#if defined(INCLUDE_LE_AUDIO_UNICAST)

#include "le_audio_core_channel_event_spec.h"
#include "le_unicast_manager_private.h"

/*! \brief Send connection status event for ASCS.

    \param cid connection id
    \param uuid Service UUID
    \param status success or failure status
 */
void leUnicastManager_PublishConnectionStatus(uint32 cid, uint16 uuid, int status);

/*! \brief Send Command Complete Event for Setup data path command.

    \param connection_handle Disconnected CIS connection handle
    \param reason Reason of disconnection
    \param link_type Disconnected link type
 */
void leUnicastManager_SendDisconnectionCompleteEvent(uint16 connection_handle, hci_status reason, acl_link_type_t link_type);

/*! \brief Send CIS Established event.
    \param ind pointer to parameters
 */
void leUnicastManager_SendCisEstablishedEvent(const BapServerCisEstablishedInd *ind);

/*! \brief Send Command Complete Event for Setup data path command.
    \param cfm pointer to parameters
 */
void leUnicastManager_SendSetupDataPathCommandCompletEvent(const BapServerSetupDataPathCfm *cfm);

/*! \brief Send Command Complete Event for Remove data path command.
    \param cfm pointer to parameters
 */
void leUnicastManager_SendRemoveDataPathCommandCompletEvent(const BapServerRemoveDataPathCfm *cfm);

/*! \brief Send CIS request Event.

    \param acl_handle LE acl connection handle
    \param cis_handle CIS connection handle
    \param cig_id cig ID to which cis is associated
    \param cis_id cis id
 */
void leUnicastManager_SendCisRequestEvent(uint16 acl_handle, uint16 cis_handle,
                                          uint8 cig_id, uint8 cis_id);

#endif /* INCLUDE_LE_AUDIO_UNICAST */

#endif /* LEA_UNICAST_EVENT_SEND_H_ */